home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / editor / htmst707.zip / HTMSTRIP.DOC < prev    next >
Text File  |  1997-07-31  |  49KB  |  987 lines

  1. HTMSTRIP.DOC                           1                           Jul 31, 1997
  2.  
  3. WIN95 AND WINNT NOTICE:  As with most DOS-based utilities, this program doesn't
  4. understand the weird subdirectories, long filenames,  invalid  characters  that
  5. are possible under Windows 95 and Windows/NT.   Both  operating  systems  alias
  6. long filenames into names like MYFILE~1.TXT and you will need  to  specify  the
  7. aliased versions of file names to process  them.   Under  some  file  structure
  8. systems in NT, the program may not work at all.
  9.  
  10. The HTMSTRIP.EXE program attempts to read HTML pages, remove the  HTML  coding,
  11. and write the file out as something more useful.  Features of this program:
  12.  
  13.   * Ideal way to prep HTML documents for later retransmission via e-mail (which
  14.     doesn't support the fonts, pictures, etc).  Beats out  Netscape's  Save  As
  15.     Text option hands down.
  16.   * Can be run across an entire subdirectory (for example,  your  entire  cache
  17.     subdirectory), and will only process the  HTML  documents  that  it  finds.
  18.     (There are some options on this.)
  19.   * Removes all embedded HTML commands.
  20.   * Recodes the standard HTML "entity references" (so "©" becomes  "(c)").
  21.     The actual replacements are coded in a user-modifiable lookup file.
  22.   * Handles standard indent, heading, selection groups, menus, tables, etc.
  23.   * Reflows all text as appropriate.
  24.   * Can provide character-translation table to filter out characters that  only
  25.     work under Windows.
  26.   * Can indicate bolding, underlining, etc with user-specified characters.
  27.   * Optionally,  will  replace  Link,  Image,   and   Input   references   with
  28.     user-definable text representations.
  29.   * Optionally, alerts you to possible errors in the HTML code itself.
  30.   * Supports ISO 8859/1 8-bit single-byte (Windows), 7-bit DOS ASCII, and 8-bit
  31.     DOS ASCII character sets.
  32.   * Optionally creates a logfile of file activity.
  33.   * Pressing escape stops the program early.
  34.  
  35. HTML codes are surrounded within <...> indicators.   For  upward  compatibility
  36. reasons, Web browsers ignore any codes that  they  don't  understand  and  just
  37. process the ones they can handle.
  38.  
  39. HTMSTRIP removes all HTML codes.  It also handles  the  standard  HTML  "&xxx;"
  40. "entity references" (for example, "©" is replaced by "(c)").  You can  add
  41. or change these replacements as desired  by  using  the  INI  file  (documented
  42. later).
  43.  
  44.  
  45. Quickie instructions:
  46.  
  47. Okay!  You hate to read.  I know that.  And there aren't any cute  pictures  in
  48. this documentation and, like everything I write, it's way too long to keep your
  49. attention for long.  So, let's bottom line it; what's the quickest way  to  use
  50. this program without learning any of the options?
  51.  
  52. Let's  presume  you're  running  under  Windows.   Take  the  HTMSTRIP.EXE  and
  53. HTMSTRIP.INI files from the  HTMSTymm.ZIP  file  and  copy  them  to  the  same
  54. subdirectory somewhere.  (They should be in the same subdirectory already since
  55. that's how uncompressing them would have gone.) This subdirectory should be  in
  56. your path.  If you're not sure what your path is, hop to DOS  and  type  "SET".
  57. There   should    be    a    line    shown    that    says    something    like
  58. "PATH=C:\;C:\DOS;C:\WINDOWS".   I  wouldn't  advise  copying  HTMSTRIP.EXE  and
  59. HTMSTRIP.INI to your WINDOWS subdirectory.  Maybe your root?
  60.  
  61.  
  62. HTMSTRIP.DOC                           2                           Jul 31, 1997
  63.  
  64. Get on the Web and save the source of an HTML document to your hard disk.  This
  65. is done from the Netscape Navigator by bringing up  a  page  and  saying  "Save
  66. As...".  Remember the file name and what subdirectory you  saved  the  document
  67. to.  Just for example's sake, let's say the file name is "UPEPIS.HTM".
  68.  
  69. Hop to DOS.  (You can run HTMSTRIP from the Run  option  in  Windows  but  it's
  70. easier to explain this way.)  Make the directory where you saved  the  document
  71. your default subdirectory.  (This  is  usually  done  with  a  series  of  "CD"
  72. commands in DOS.)
  73.  
  74. Now, type:
  75.  
  76.         HTMSTRIP
  77.  
  78. You didn't pass in any parameters so HTMSTRIP will request the name of the file
  79. to process.  Enter the name of the HTML file.  In our case, this  would  appear
  80. like:
  81.  
  82.         Enter filespec to process? UPEPIS.HTM
  83.  
  84. Presuming you did everything correctly, the HTMSTRIP program will read the HTML
  85. file and tell you it created a new file with the file extension of  ".OUT"  (in
  86. our case, "UPEPIS.OUT").
  87.  
  88. That was pretty easy.  Now, hop back into Windows and bring the new file up  in
  89. your text editor (use Write or something else that uses TrueType fonts  instead
  90. of NotePad).  With luck, you'll see the file looking similar to how it did when
  91. you were viewing it under your Web browser.  The difference is that it's now  a
  92. properly-formatted text document which fits on the screen and can  be  e-mailed
  93. to someone.
  94.  
  95. Hop back into DOS.  Type "HTMSTRIP /?".  You'll see there are a bunch of  other
  96. parameters that you can pass in.  If you're not pleased with  the  output  file
  97. that was created, you might want to read the  quick  on-screen  description  of
  98. each option and then consult the HTMSTRIP.DOC file for more instructions  about
  99. anything that sounds interesting.  Chances are, you won't want to revise any of
  100. the system defaults at least initially.   If  you  find  yourself  consistently
  101. needing to change some options, you might want to edit the HTMSTRIP.INI file to
  102. specify those new defaults.  Read the  BRUCEINI.DOC  file  for  information  on
  103. overriding defaults.
  104.  
  105. Note that the instructions tell you you can use wildcards for  the  input  file
  106. name.  You can do something like "HTMSTRIP *.HTM" and  it  will  process  every
  107. file with an ".HTM" extension in your default subdirectory.
  108.  
  109.  
  110.  
  111. HTMSTRIP.DOC                           3                           Jul 31, 1997
  112.  
  113. HTML codes:
  114.  
  115. HTMSTRIP is also tuned to allow it to specially-handle  several  embedded  HTML
  116. codes found through HTML version 3.2.  These codes are the following:
  117.  
  118.                  Supported
  119. Element          Attributes   Description
  120.  
  121. <!-- ... -->                  Comments (skip)
  122. <A ...>...</A>                External link
  123.                  HREF=site      Start of hypertext link
  124.                  ID=anchor      Establishes target for hypertext links
  125.                  NAME=anchor    Establishes target for hypertext links
  126. <AREA>                        Client-side image hotspot
  127.                  HREF=site      Hypertext link
  128.                  ALT=text       What to display if text-only environment
  129. <B>..</B>                     Bold text
  130. <BASE ...>                    Establishing a root directory
  131.                  HREF=site      Prefix to add to unqualified sites
  132. <BLOCKQUOTE>...</BLOCKQUOTE>  Indented block of text
  133. <BR>                          Forced line break
  134. <CAPTION>...</CAPTION>        Title for a table block
  135. <CENTER>...</CENTER>          Centering text block
  136. <DD>                          Term definition
  137. <DIR>...</DIR>                Directory list of items (obsolete)
  138. <DL>...</DL>                  Definition list block
  139. <DT>                          First term of definition list/glossary
  140. <EM>...</EM>                  Emphasize text
  141. <H1> to <H6>...</H1> to </H6> Heading items
  142. <HR>                          Horizontal rule
  143. <I>..</I>                     Italicize text
  144. <IMG ...>                     Image
  145.                  SRC=site       Location of the image
  146.                  ALT=text       What to display if text-only environment
  147. <INPUT ...>                   User input
  148.                  TYPE=CHECKBOX  Type of input -- shown as [_]
  149.                  TYPE=HIDDEN    Type of input -- suppress
  150.                  TYPE=RADIO     Type of input -- shown as (_)
  151.                  CHECKED        Makes [X] or (X)
  152.                  SIZE=n         Specifies length for input fields
  153.                  VALUE=text     Specifies default value for input fields
  154. <LI>                          Menu/Ordered/Unordered/Directory list item
  155. <MAP>...</MAP>                Client-side image map
  156. <MENU>...</MENU>              Menu listing block (obsolete)
  157. <OL>...</OL>                  Ordered listing block (HTMSTRIP skips numbers)
  158. <OPTION>                      Used for single/multiple choice menus
  159. <P>                           Paragraph indicator
  160. <PRE>...</PRE>                Preserve spacing block (preformatted text)
  161. <SCRIPT>...</SCRIPT>          Java script blocks are ignored
  162. <SELECT>...</SELECT>          Block for single/multiple choice menu
  163.                  MULTIPLE       Allow for multiple selections
  164.  
  165. Continued...
  166.  
  167. HTMSTRIP.DOC                           4                           Jul 31, 1997
  168.  
  169.                  Supported
  170. Element          Attributes   Description
  171.  
  172. <TABLE>...</TABLE>            Table block
  173. <TD>...</TD>                  Table data (cell)
  174.                  ALIGN=spec     How to align the cell (default is LEFT)
  175.                  COLSPAN=n      How many columns to span with this cell
  176.                  ROWSPAN=n      How many rows to span with this cell
  177. <TH>...</TH>                  Table heading
  178.                  ALIGN=spec     How to align the cell (default is CENTER)
  179.                  COLSPAN=n      How many columns to span with this cell
  180.                  ROWSPAN=n      How many rows to span with this cell
  181. <TITLE>...</TITLE>            Title item
  182. <TR>...</TR>                  Table row
  183. <U>..</U>                     Underlining text
  184. <UL>...</UL>                  Unordered listing
  185.  
  186. If you run across other codes that become vital, let me know and I'll see about
  187. handling them somehow.
  188.  
  189.  
  190. How to get HTML files:
  191.  
  192. Some people who are using regular Web browsers like Mosaic  or  Netscape  don't
  193. realize that they're  automatically  saving  HTML  files  to  their  hard  disk
  194. throughout every Web session.  That's because  just  about  every  Web  browser
  195. saves the most-recently accessed files from  the  Web  (including  HTML  source
  196. code, GIF's, and JPG's) on your hard disk and reads them from there instead  of
  197. requiring you to download them every time you go back to a previous page.  This
  198. is typically settable by you  under  "Preferences"  and  "Cache"  on  your  Web
  199. browser.
  200.  
  201. I usually set my Web browser to have a huge cache, maybe 10MB.  Anything  beats
  202. downloading the same pages over again even at 28.8K.  And I make sure that I do
  203. not have anything specified like "clear cache at the  end  of  every  session".
  204. Then I just go through the  files  in  the  cache  subdirectory  afterward  and
  205. reprocess them.
  206.  
  207. Two disadvantages to a cache...  It takes up hard disk space but, hey, the  Web
  208. browser is  typically  in  Windows  so  why  are  you  surprised.   The  second
  209. disadvantage is that  if  the  page  actually  changes  between  sessions,  you
  210. typically won't notice the new page as long as it remains in  your  cache.   If
  211. you think a page is still in cache and should have been changed but didn't, you
  212. can typically ask your Web browser to reload the page.  On some browsers,  this
  213. is shown as an arrow in the form of a circle.
  214.  
  215. HTMSTRIP can process the entire cache subdirectory.  It  automatically  detects
  216. non-HTML files for you and processes accordingly.  It  creates  new  text  file
  217. versions of just the HTML pages it finds.
  218.  
  219. Another great way to get HTML  pages  is  to  use  the  URL-minder  service  at
  220. http://www.netmind.com/URL-minder/new/register.html  This  is  a  free  service
  221. which automatically tells you whenever a Web page's contents changes.   If  you
  222. use the advanced features, you can have the Web page's HTML code sent to you as
  223. a file attachment (it's easier than dealing with the "embed" option too).  Then
  224. you can run HTMSTRIP on the resulting file.
  225.  
  226.  
  227.  
  228. HTMSTRIP.DOC                           5                           Jul 31, 1997
  229.  
  230. Specifying parameters:
  231.  
  232. Parameters for this program can be set in the following ways.  The last setting
  233. encountered always wins:
  234.   - Read from an *.INI file (see BRUCEINI.DOC file),
  235.   - Through the use of an environmental variable (SET HTMSTRIP=whatever), or
  236.   - From the command line (see "Syntax" below)
  237.  
  238. HTMSTRIP also allows you to define:
  239.   - How "entity references" (things like "®") are shown
  240.   - How "symbolic references" (things like "[input]" and "<B>") are shown
  241.   - Which characters should be filtered  into  other  characters  (things  like
  242.     showing "Æ" as "'" -- none of these should actually appear on Web pages  by
  243.     the way)
  244.  
  245. These are explained in sections at the end of this documentation.
  246.  
  247.  
  248. HTMSTRIP.DOC                           6                           Jul 31, 1997
  249.  
  250. Syntax:
  251.  
  252.     HTMSTRIP [ filespec | (filelist) | @listfile ] [ /Cpath ] [ outfile ]
  253.       [ /EXT=.xxx ] [ /COPY=path ] [ /CREATE ] [ /ALL ] [ /ATTR=attribs ]
  254.       [ /WIDTH=n ] [ /FORCE ] [ /RULE=s ] [ /BORDER=c ] [ /BUFF=n ] [ /SPACES ]
  255.       [ /RSPACE ] [ /WARNINGS ] [ /-TABLE ] [ /-INDENT ] [ /CPn ] [ /A=spec ]
  256.       [ /IMG=spec | /IMGALT=spec ] [ /ALTONLY ] [ /MAP=spec | /MAPALT=spec ]
  257.       [ /-INPUT ] [ /Linitfile ] [ /FILTER | /FILTER=filename ]
  258.       [ /LOG=logfile ] [ /Tpath ] [ /MONO ]
  259.       [ /Iinitfile | /-I ] [ /-ENV ] [ /? ] [ /?&H ]
  260.  
  261. where:
  262.  
  263. "filespec" tells the routine which file or files  are  to  be  processed.   The
  264. specification can include path and wildcards if desired.  Typically,  the  file
  265. names are *.HTM files.  If no input specification (filespec  or  @listfile)  is
  266. provided, you'll be prompted for one.  If no extension is provided,  ".HTM"  is
  267. presumed.  (If you want to process a file which does  not  have  an  extension,
  268. include the trailing period on the file  name,  such  as  "HTMSTRIP  HTTP_WWW."
  269. (with the period in there).
  270.  
  271. "(filelist)" allows you to specify multiple files  to  be  processed  from  the
  272. command line.  File names should be separated  by  spaces.   They  may  include
  273. drive, path, and wildcard information.  Remember that a  command  line  in  DOS
  274. cannot exceed 127 characters so you're limited as to how  many  different  file
  275. specifications you can provide in this fashion.
  276.  
  277. "@listfile" allows you to have a variety of file specifications saved in a text
  278. file named "listfile".  Each line in  the  file  should  consist  of  one  file
  279. specification, each of which can include a path and wildcards if desired. Blank
  280. lines and lines beginning with semi-colons, colons, or quotes are ignored.   If
  281. no input specification (filespec or @listfile) is provided, you'll be  prompted
  282. for one.
  283.  
  284. "/Cpath" specifies that the cache is found in a particular subdirectory.   This
  285. allows you to specify a default location in your *.INI file (see  BRUCEINI.DOC)
  286. and just specify something like "A*.HTM"  for  the  files  to  process.   Note,
  287. however, that if you don't use *.INI files, it's easier to  just  pass  in  the
  288. input file path with the "filespec" parameter ("HTMSTRIP  *.HTM  /C\CACHE"  and
  289. "HTMSTRIP \CACHE\*.HTM" are the same).  Defaults to your current default  path.
  290. If the input filespec includes drive or path information,  this  will  override
  291. the /Cpath specification.
  292.  
  293. "outfile" is the name of the output file to  create.   Is  overwritten  without
  294. prompting if it exists already.  If  no  output  file  name  is  provided,  the
  295. routine will use the infile and provide an extension of  *.OUT.   (The  default
  296. .OUT extension can be overridden using the  /EXT=.xxx  parameter.)  An  outfile
  297. cannot be specified if wildcards or @listfile  are  used  for  the  input  file
  298. specification.
  299.  
  300. "/EXT=.xxx" allows you to specify a different default file  extension  for  the
  301. output file.  This parameter only matters if you do not explicitly  specify  an
  302. output file name.  Initially defaults to "/EXT=.OUT".
  303.  
  304.  
  305. HTMSTRIP.DOC                           7                           Jul 31, 1997
  306.  
  307. "/COPY=path" specifies that the output files (for example, BRUCE.OUT  when  the
  308. input was BRUCE.HTM) are to be  created  in  the  specified  subdirectory.   By
  309. default, the program creates the output files in the same  path  as  the  input
  310. files.  If the subdirectory does not exist, you will be prompted for whether to
  311. create it or not based on the value of the /CREATE parameter.
  312.  
  313. "/CREATE" automatically  creates  the  output  subdirectory  if  /COPY=path  is
  314. specified.  The default is "/-CREATE"; if the subdirectory is  not  there,  the
  315. program prompts whether it should be created or not.
  316.  
  317. "/ALL" says that if the program encounters what it thinks is just a text  file,
  318. it should take the file and try to fix up CR/LF problems (Unix files  end  with
  319. LF's instead of CR/LF which is what DOS needs) and  that's  it.   This  can  be
  320. somewhat risky since it may misdiagnose a file but it should be safe if  you're
  321. running it on your cache subdirectory.  Initially  defaults  to  "/-ALL"  which
  322. means it won't process it unless it thinks it's an HTML file.
  323.  
  324. "/-ALL" says to skip files if the program thinks it's not an HTML  file.   This
  325. is initially the default.
  326.  
  327. "/ATTR=attribs" allows you to specify a combination of attributes that you want
  328. considered.  You can specify any combination of R (read-only),  H  (hidden),  S
  329. (system), or A (archive bit).  Precede any character(s)  with  "-"  to  exclude
  330. instead of include.  Unlike with  the  DOS  DIR  command,  the  inclusions  and
  331. exclusions are subject to "OR" conditions; /ATTR=HS will retrieve any file that
  332. is either hidden or a system file or both.   You  can  specify  "/ATTR=ALL"  to
  333. specify that all files are to be processed.  Initially defaults  to  /ATTR=-H-S
  334. (skip hidden or system files).
  335.  
  336. "/WIDTH=n" specifies the desired line length for wrapping long lines  and  also
  337. for centering.  Initially defaults to "/WIDTH=80".
  338.  
  339. "/FORCE" says that the specified width must be adhered to.  The only  exception
  340. to this is that tables may force a width expansion if the  cells  simply  can't
  341. fit on the page otherwise.  Using /FORCE means that <PRE>...</PRE>  blocks  may
  342. be wrapped (typically a no-no) and some words in tables may get split up if the
  343. entire word can't fit in the computed cell width.  The latter is  especially  a
  344. problem if there are lots of cell columns in a table; there isn't much room for
  345. the actual data when the cells themselves take up  so  much  space.   Initially
  346. defaults to "/-FORCE".
  347.  
  348. "/-FORCE" says that the desired  widths  can  be  ignored  if  table  cells  or
  349. <PRE>...</PRE> blocks would look more natural without it.   This  is  initially
  350. the default.
  351.  
  352. "/RULE=s" specifies that a string is to be repeated the width of the line. This
  353. is used to separate sections.  The string  can  be  a  single  character  (like
  354. "/RULE=-"), multiple characters (like "/RULE="- ""), it can contain decimal and
  355. hexadecimal characters (like "/RULE=\066\097\116"--see BRUCEHEX.DOC), it can be
  356. "/RULE=NULL" (or "/-RULE"; both typically results in a  blank  line),  or  just
  357. simply "/RULE"  (which  is  the  same  thing  as  "/RULE=-"  if  /BORDER=T  and
  358. "RULE=\196" if /BORDER=S or /BORDER=D).  Personally, if your  printer  supports
  359. IBM graphics characters, I find "/RULE=\196" to be the  most  pleasing  of  the
  360. rule lines.  Initially defaults to /RULE=- .
  361.  
  362.  
  363. HTMSTRIP.DOC                           8                           Jul 31, 1997
  364.  
  365. "/BORDER=c" specifies the type of border to use.  The possible choices for  "c"
  366. are:
  367.   D  -- double line
  368.   S  -- single line
  369.   T  -- text character line    -- this is the default
  370.   B  -- blanks (spaces)
  371.   N  -- none
  372.   DV -- double line is used for vertical borders, lines are skipped in
  373.         horizontal rows within the table itself
  374.   SV -- same as DV except single line
  375.   TV -- same as DV except text lines
  376. Examples of the various border types:
  377.  
  378.      <D>ouble       <S>ingle        <T>ext         <B>lank        <N>one
  379.    ╔═══╦═══╤═══╗  ┌───┬───┬───┐  +---+---+---+
  380.    ║ 1 ║ 2 │ 3 ║  │ 1 │ 2 │ 3 │  | 1 | 2 | 3 |    1   2   3      1   2   3
  381.    ╠═══╬═══╪═══╣  ├───┼───┼───┤  +---+---+---+                   4   5   6
  382.    ║ 4 ║ 5 │ 6 ║  │ 4 │ 5 │ 6 │  | 4 | 5 | 6 |    4   5   6      7   8   9
  383.    ╟───╫───┼───╢  ├───┼───┼───┤  +---+---+---+
  384.    ║ 7 ║ 8 │ 9 ║  │ 7 │ 8 │ 9 │  | 7 | 8 | 9 |    7   8   9
  385.    ╚═══╩═══╧═══╝  └───┴───┴───┘  +---+---+---+
  386.  
  387.                       <DV>           <SV>           <TV>
  388.                   ╔═══╦═══╤═══╗  ┌───┬───┬───┐  +---+---+---+
  389.                   ║ 1 ║ 2 │ 3 ║  │ 1 │ 2 │ 3 │  | 1 | 2 | 3 |
  390.                   ╠═══╬═══╪═══╣  ├───┼───┼───┤  +---+---+---+
  391.                   ║ 4 ║ 5 │ 6 ║  │ 4 │ 5 │ 6 │  | 4 | 5 | 6 |
  392.                   ║ 7 ║ 8 │ 9 ║  │ 7 │ 8 │ 9 │  | 7 | 8 | 9 |
  393.                   ╚═══╩═══╧═══╝  └───┴───┴───┘  +---+---+---+
  394.  
  395. "/BUFF=n" specifies how many spaces to position on either side of the  vertical
  396. bars in the tables.  Defaults to /BUFF=1.
  397.  
  398. "/SPACES"  retains  extra  vertical  spacing  between  sections.    There   are
  399. frequently lots of extra blank lines that appear in the output file either  due
  400. to specific HTML requests or to insure proper reformatting.  Specifying /SPACES
  401. allows these to stay there.
  402.  
  403. "/-SPACES" removes these extra blank lines.  This also tries  to  remove  empty
  404. columns in tables as well as some blank rows in tables.  This is initially  the
  405. default.
  406.  
  407. "/RSPACE" requires that a blank line appear before and  after  horizontal  rule
  408. (<HR>) indicators.  Using this option with /SPACES  may  cause  multiple  blank
  409. lines around horizontal rules.   Initially defaults to "/-RSPACE".
  410.  
  411. "/-RSPACE" doesn't force a blank line around horizontal rule  indicators.  This
  412. is initially the default.
  413.  
  414.  
  415. HTMSTRIP.DOC                           9                           Jul 31, 1997
  416.  
  417. "/WARNINGS" displays on-screen warnings when  HTMSTRIP  finds  either  internal
  418. problems in the document or things it can't handle.  Realistically, they're not
  419. all that important because the program is working around them  anyway  but  you
  420. might want to use them to help make  suggestions  to  the  webmaster.   If  you
  421. create a logfile  (using  the  "/LOG=filename"  parameter),  the  warnings  are
  422. automatically written  out  to  that  file  independently  of  the  "/WARNINGS"
  423. setting.  Initially defaults to "/-WARNINGS".
  424.  
  425. "/-WARNINGS" turns off the warning messages.  This is initially the default.
  426.  
  427. "/TABLE" says to process text  within  table  declaration  sections  as  tables
  428. whenever the program can.  There are some maximum cell  length  limits  in  the
  429. program and some tabular text will be dumped as  straight  ASCII  text  anyway.
  430. This is initially the default.
  431.  
  432. "/-TABLE" says to process text within table declarations sections  as  straight
  433. text, removing it from the tabular structure entirely.  There are  other  cases
  434. where page authors have switched to tables  for  formatting  purposes  and  the
  435. resulting pages when converted to  text  are  mostly  spaces.   Finally,  using
  436. /-TABLE can sometimes avoid "out of string space" errors that pop  up  on  some
  437. pages.  Initially defaults to "/TABLE".
  438.  
  439. "/-INDENT" removes block indent sections from the  output  file.   By  default,
  440. five spaces are inserted before each line within a <BLOCKQUOTE>...</BLOCKQUOTE>
  441. block.  These can be nested so you can end up with a lot of white space in your
  442. document.  "/-INDENT" turns them off.  Initially defaults to "/INDENT".
  443.  
  444. "/INDENT"  retains  the  <BLOCKQUOTE>...</BLOCKQUOTE>   indenting.    This   is
  445. initially the default.
  446.  
  447. "/CPn" specifies what character pageset to use.  "n" can be 1, 2, or 3:
  448.   /CP1 specifies that the program should use the 7-bit DOS character set.  This
  449.        is the most universally recognized character set out  there  and  should
  450.        work for printing, e-mail, etc.  It does not handle  foreign  characters
  451.        or miscellaneous symbols like "£" so these  are  translated  into  rough
  452.        ASCII equivalents.  Since this is  the  lowest-common-denominator  font,
  453.        it's initially the default for this routine.  Add /CP2 or /CP3  to  your
  454.        HTMSTRIP.INI file if you want to change on a regular basis.
  455.   /CP2 specifies that the program should use the 8-bit DOS character set.  This
  456.        works within DOS applications but doesn't read correctly  under  Windows
  457.        programs.
  458.   /CP3 specifies that the program should use the ISO 8859/1  8-bit  single-byte
  459.        graphic character set.  This set works within Windows  applications  but
  460.        may not e-mail correctly.
  461.  
  462.  
  463. HTMSTRIP.DOC                           10                          Jul 31, 1997
  464.  
  465. "/A=spec" tells the program how to handle <A...> hypertext  links.   These  are
  466. used when the program is supposed to hop to another HTML page or to  a  section
  467. within the current HTML page.  The values of "spec" are mutually exclusive:
  468.  
  469.       /A=FSITE    says to show the site name, using its full url  address,  and
  470.                   embed this name in the body of the text page
  471.       /A=FSITEFN  says to show the site name, using its full url  address,  and
  472.                   place this site name in a footnote section at the end of  the
  473.                   text page
  474.       /A=SITE     says to show the site name, but only the part after the  last
  475.                   "/" or "\", and embed this name in the body of the text page
  476.       /A=SITEFN   says to show the site name, but only the part after the  last
  477.                   "/" or "\", and place this site name in a footnote section at
  478.                   the end of the text page
  479.       /A=SYMBOL   says to use the specified <A> symbol  (initially  defined  as
  480.                   "(link)" in the HTMSTRIP.INI file)
  481.       /A=NONE     (or /-A) says that nothing  is  to  be  shown  for  hypertext
  482.                   links.  This is initially the default.
  483.  
  484. "/IMG=spec" tells the program how to handle <IMG...> links.  These are used for
  485. embedded graphics.  The  values  of  "spec"  are  mutually  exclusive  and  are
  486. documented in the "/A=spec" section above.  Initially defaults  to  "/IMG=NONE"
  487. (which is the same as "/-IMG") which will result in nothing being shown for the
  488. image links.
  489.  
  490. Given:
  491.  
  492.         <IMG SRC="../movies/Anaconda/assets/title.gif" border=0
  493.         alt="Anaconda - click to enter">
  494.  
  495. Setting             Yields
  496. -------             ------
  497. /IMG=FSITE          [../movies/Anaconda/assets/title.gif]
  498. /IMG=FSITEFN        [1] ../movies/Anaconda/assets/title.gif (footnote)
  499. /IMG=SITE           [title.gif]
  500. /IMG=SITEFN         [1] title.gif       (footnote)
  501. /IMG=SYMBOL         (link)
  502. /IMG=NONE                               (is not shown)
  503.  
  504.  
  505. HTMSTRIP.DOC                           11                          Jul 31, 1997
  506.  
  507. "/IMGALT=spec" is identical to  "/IMG=spec".   However,  if  "/IMGALT=spec"  is
  508. specified (and is not "/IMGALT=SYMBOL" or  "/IMGALT=NONE"),  the  program  will
  509. look for an ALT=alias reference in the <IMG...> link and  use  that  if  found.
  510. Note that alias will be used in its entirity if  it's  found  and  it  will  be
  511. embedded in the output text (appearing within brackets).  The "spec" items  are
  512. used for any reference that doesn't have an  ALT=spec  specification;  in  this
  513. case, the program works identically to "/IMG=spec" for these.   So  site  names
  514. might  be  tossed  at  the  bottom  as   footnotes   if   "/IMGALT=SITEFN"   or
  515. "/IMGALT=FSITEFN" is used but any ALT=spec items are always in the text itself.
  516. Initially defaults to "/IMGALT=NONE" (same as "/-IMGALT") which will result  in
  517. nothing being shown for the image links.
  518.  
  519. Given:
  520.  
  521.         <IMG SRC="../movies/Anaconda/assets/title.gif" border=0
  522.         alt="Anaconda - click to enter">
  523.  
  524. Setting             Yields
  525. -------             ------
  526. /IMGALT=FSITE       [Anaconda - click to enter]
  527. /IMGALT=FSITEFN     [Anaconda - click to enter]  (*not* footnote)
  528. /IMGALT=SITE        [Anaconda - click to enter]
  529. /IMGALT=SITEFN      [Anaconda - click to enter]  (*not* footnote)
  530. /IMGALT=SYMBOL      (link)
  531. /IMGALT=NONE                            (nothing shown)
  532.  
  533. "/ALTONLY" specifies that if an ALT=alias reference exists in an <IMG...> link,
  534. then the alias  should  be  embedded  in  the  output  text  (appearing  within
  535. brackets) but, otherwise, all <IMG...> references are  to  be  ignored  in  the
  536. input file.  Initially defaults to "/-ALTONLY".
  537.  
  538. "/-ALTONLY" allows <IMG...> references to be added to output file  even  if  an
  539. ALT=alias reference is not specified.  This is initially the default.
  540.  
  541. "/MAP=spec" and "/MAPALT=spec" work the same as "/IMG=spec" and  "/IMGALT=spec"
  542. do but they apply to  <AREA>  specifications  within  a  <MAP>...</MAP>  block.
  543. Initially defaults to "/MAP=NONE" (which is the same as "/-MAP").
  544.  
  545. "/-INPUT" skips any indication of the <INPUT>  flags.   Initially  defaults  to
  546. "/INPUT".
  547.  
  548. "/INPUT" shows <INPUT> flags.  This allows the "<INPUT> =  5<@+>"  (or  however
  549. you have it defined) from HTMSTRIP.INI to be activated.  This is initially  the
  550. default.
  551.  
  552. "/L" says to read "&xxx;" entity references and "<A>" etc symbol  lookup  codes
  553. from your /Iinitfile file.  This is initially the default.
  554.  
  555. "/Linitfile" says to read the "&xxx;" entity references and  "<A>"  etc  symbol
  556. lookup codes from the specified file "initfile".  Specifying  another  file  is
  557. primarily useful if you want to have a master *.INI file and  a  separate  code
  558. lookup table.  Initially defaults to "/L".
  559.  
  560. "/-L" says to not  process  any  entity  references  or  symbol  lookup  codes.
  561. Initially defaults to "/L".
  562.  
  563.  
  564. HTMSTRIP.DOC                           12                          Jul 31, 1997
  565.  
  566. "/FILTER" specifies that the program is to replace specific characters  in  the
  567. input file.  See the "Defining Character-Translations" discussion below.   When
  568. this parameter is in effect, the program looks for  character  translations  in
  569. the entity reference  file  (/Linitfile),  which  typically  defaults  to  your
  570. initialization file (/Iinitfile).  The is initially the default.
  571.  
  572. "/FILTER=filename" specifies that a filter is to be applied and  all  character
  573. replacements   are   in   the   file    "filename".     See    the    "Defining
  574. Character-Translations" discussion below.
  575.  
  576. "/-FILTER" says to not bother removing the  nonprintable  characters  from  the
  577. output.  Initially defaults to "/FILTER".
  578.  
  579. "/LOG=logfile" specifies that the program  should  create  a  simple  log  file
  580. showing  what  files  were  processed  when  and  what  (if  any)  errors  were
  581. encountered.  If the logfile exists already, it will be appended to (lines will
  582. be added to the end of it).  If no drive or path is specified, the file will be
  583. created in your default drive or path.  Initially defaults  to  "/-LOG"  (don't
  584. create a logfile).
  585.  
  586. "/-LOG" says to not create a log file at all.  This is initially the default.
  587.  
  588. "/LOG" is the same as "/LOG=HTMSTRIP.LOG".
  589.  
  590. "/Tpath" specifies where to write the temporary files that the  routine  needs.
  591. Examples are "/TC:" and "/TC:\TEMP".  If not specified, the routine  writes  to
  592. the following in sequence:
  593.  
  594.   - the value of any TEMP, then TMP, environmental variable
  595.   - C:\TEMP
  596.   - C:\
  597.  
  598. "/MONO" (or "/-COLOR") does not  try  to  override  screen  colors.   Initially
  599. defaults to "/COLOR".
  600.  
  601. "/COLOR" (or  "/-MONO")  allows  screen  colors  to  be  overridden.   This  is
  602. initially the default.
  603.  
  604. "/Iinitfile" says to read an initialization file with the file name "initfile".
  605. The  file  specification  *must*  contain  a  period.   If  no  drive  or  path
  606. information is specified, the program will search  for  initfile  beginning  in
  607. your default subdirectory and then going throughout your DOS path.  The use  of
  608. an initialization file is optional.  Initially defaults to "/IHTMSTRIP.INI".
  609.  
  610. "/-I" (or "/INULL") says to skip loading the initialization  file.   Note  that
  611. this also drops loading the file that translates things  like  "&xxx;"  so  you
  612. should specify /Linitfile if you drop the other file.
  613.  
  614. "/ENV" says to look for %var% occurrences  in  the  command  line  and  try  to
  615. resolve any apparent environmental variable references.  See  BRUCEINI.DOC  for
  616. more information.  This is initially the default.
  617.  
  618. "/-ENV" says to skip resolving apparent %var% occurrences in the command  line.
  619. Initially defaults to "/ENV".
  620.  
  621.  
  622. HTMSTRIP.DOC                           13                          Jul 31, 1997
  623.  
  624. "/?" or "/HELP" or "HELP" shows you the syntax for the command.
  625.  
  626. "/?&H" gives you a hexadecimal and decimal conversion table.
  627.  
  628.  
  629. Return codes:
  630.  
  631. HTMSTRIP returns the following ERRORLEVEL codes:
  632.  
  633.         0 = no problems, all files processed
  634.       251 = could not find a file to process
  635.       253 = operation aborted by pressing Escape
  636.       255 = syntax problems, or /? requested
  637.  
  638.  
  639.  
  640. HTMSTRIP.DOC                           14                          Jul 31, 1997
  641.  
  642. Defining entity references:
  643.  
  644. HTMSTRIP will process an entity reference definition file is one is found. This
  645. table can be in your standard *.INI file (for example, HTMSTRIP.INI) if desired
  646. or it can be a separate file specified using the /Linitfile parameter.
  647.  
  648. Entity references are how non-standard characters like the copyright  character
  649. are handled in HTML pages.  Entity references are indicated  as  "&xxx;"  where
  650. "xxx" is either a code or a number preceded by a  pound  sign.   The  copyright
  651. symbol is indicated in HTML as "©".
  652.  
  653. A default HTMSTRIP.INI is provided with over 300 entity reference lookups.   To
  654. define or change these lookups, the INI file should include a series  of  lines
  655. in the following format:
  656.  
  657.         &xxx; = _outstr1_outstr2_outstr3_
  658.  
  659. where "&xxx;" is the HTML sequence and "outstr1", "outstr2", and  "outstr3"  is
  660. what you want to replace it with.  There are three available lookup strings  to
  661. match the setting for the character pageset parameter ("/CPn"):
  662. * The first character(s) ("outstr1") correspond to the  characters  used  under
  663.   7-bit DOS (/CP1).  Files created using this character set can be e-mailed  to
  664.   anyone and looks identical under DOS and  Windows.   Foreign  characters  and
  665.   symbols are translated into fairly boring, generic characters.
  666. * The second character(s) ("outstr2") correspond to the characters  used  under
  667.   8-bit DOS (/CP2).  Files created using this character set look fine under DOS
  668.   but look sick under Windows.
  669. * The third character(s) ("outstr3") correspond to the  characters  used  under
  670.   the ISO 8859/1 8-bit single-byte graphic character set.  Files created  using
  671.   this character set look fine under Windows but look bad under DOS.
  672.  
  673. For example:
  674.  
  675.         Æ    = _AE_Æ_╞_
  676.  
  677. will use "AE" if /CP1 is in effect, "Æ" if /CP2 is in effect, and "╞"  if  /CP3
  678. is in effect.  Note that at least one of  these  "outstr"  elements  will  look
  679. incorrect to you if you're viewing this help file under Windows or DOS. See the
  680. discussion about ENTITY.HTM below in order to see how the  different  character
  681. sets are viewed under different environments.
  682.  
  683. In cases where the characters are identical between all character sets, you can
  684. just include the lookup once:
  685.  
  686.         &      = &
  687.  
  688. The same lookup value will be used irregardless of what  character  set  you're
  689. under.
  690.  
  691.  
  692. HTMSTRIP.DOC                           15                          Jul 31, 1997
  693.  
  694. The "outstr" portions can consist of regular non-space  ASCII  text  characters
  695. (like "A" or "z") as well as hexadecimal values (in the form &Hxx)  or  decimal
  696. values (in the form \nnn).  (See the BRUCEHEX.DOC file.) They can also  be  the
  697. word "NULL" which translates the string into nothing.  You cannot use  a  space
  698. or equal sign in "outstr";  use  the  hexadecimal  or  decimal  representations
  699. instead.  The table does not have to be in any specified order.  Lines can  end
  700. with "/*" followed by a comment if you want.  Examples:
  701.  
  702.         ¢     = _cents_¢_ó_         /* Cent symbol
  703.         ©     = _(c)_(c)_⌐_         /* Copyright symbol
  704.         °      = _degree_°_░_        /* Degree symbol
  705.               = \032                /* Thick space
  706.  
  707. Remember  that  "&xxx;"  entity  references  (yes,  I  hate  that  phrase)  are
  708. case-sensitive in HTML.  "°" will not find "&Deg;".
  709.  
  710. There seems to be a trend of late to  relax  some  of  the  replacement  coding
  711. requirements in Web pages.  The ";"  is  now,  apparently,  becoming  optional.
  712. Numeric replacements (for example, " ")  seem  to  no  longer  require  the
  713. leading pound sign.  Therefore, HTMSTRIP looks for both of these iterations for
  714. any appropriate lookup.  "©" will find  "©"  and  "™"  will  find
  715. "&153".  The lookup itself has to  be  entered  in  the  formally  correct  way
  716. though.
  717.  
  718. You can see how these files will be processed under each character  pageset  by
  719. testing out the ENTITY.HTM file that is provided with  the  HTMSTymm.ZIP  file.
  720. This contains all of the entity references defined in HTMSTRIP.INI as of  March
  721. 1997.
  722.  
  723. To try all three of the character sets, issue the following commands:
  724.  
  725.         HTMSTRIP ENTITY.HTM ENTITY.DOS /CP1
  726.         HTMSTRIP ENTITY.HTM ENTITY.IBM /CP2
  727.         HTMSTRIP ENTITY.HTM ENTITY.WIN /CP3
  728.  
  729. Then view the resulting files under the DOS EDIT command as well as  under  the
  730. Windows Write program.
  731.  
  732.  
  733. HTMSTRIP.DOC                           16                          Jul 31, 1997
  734.  
  735. Defining the Symbolic References:
  736.  
  737. You are also allowed to redefine the strings that are used for several symbolic
  738. references in the entity reference file.  For  example,  if  your  source  code
  739. contains an <IMG> (inline image)  reference,  HTMSTRIP  can  indicate  this  by
  740. putting some text in place of the image.  (HTMSTRIP is text only  so  it's  not
  741. going to put the actual image in there.) The  first  three  replacements  shown
  742. below are conditional based on other parameters:
  743.  
  744. * The <A> indicator replaces hyperlink references if /A=SYMBOL is specified.
  745. * The <IMG> indicator  replaces  inline  image  references  if  /IMG=SYMBOL  or
  746.   /IMGALT=SYMBOL is specified.
  747. * The <INPUT> indicator replaces input fields if /INPUT is left as the default.
  748. * <I> replaces italics-on and </I> replaces italics-off.
  749. * <U> replaces underline-on and </U> replaces underline-off.
  750. * <B> replaces bold-on and </B> replaces bold-off.
  751. * <EM> replaces emphasis-on and </EM> replaces emphasis-off.
  752. * <TITLE> ... </TITLE> indicates how to handle the document's title.
  753. * <H1> ... </H1> indicates how to handle the level 1 headings.  Similarly, <H2>
  754.   ... </H2> through <H6> ... </H6> indicates how  to  handle  those  levels  of
  755.   headings.
  756.  
  757. The default indicators are the following:
  758.  
  759.         Symbol               Meaning          Default Value
  760.         <A>                  hyperlinks        -> (link)
  761.         <IMG>                inline image      -> (image)
  762.         <INPUT>              input fields      -> 5<@+>
  763.         <I> and </I>         italics on/off    -> (null)
  764.         <U> and </U>         underline on/off  -> (null)
  765.         <B> and </B>         bold on/off       -> (null)
  766.         <EM> and </EM>       emphasis on/off   -> (null)
  767.         <TITLE> and </TITLE> document title    -> (null)
  768.         <H1> through <H6>
  769.           and </H1> thru </H6> level headings  -> (null)
  770.  
  771. You can redefine any and all of these entity  references  in  the  same  lookup
  772. file.  These substitutions  are  specified  more  or  less  like  the  previous
  773. substitutions.  For example:
  774.  
  775.         <A>      = (link)
  776.         <IMG>    = (image)
  777.         <INPUT>  = 5<@+>
  778.         <U>      = _
  779.         </U>     = _
  780.         <B>      = *
  781.         </B>     = *
  782.  
  783. Unlike with the  other  lookups,  the  left  side  is  not  case  sensitive  so
  784. "<a>=(link)" works just fine.  Hexadecimal and decimal replacements  are  again
  785. acceptable (see BRUCEHEX.DOC file).  You might, for example, want  to  redefine
  786. some of them like this:
  787.  
  788.         <A>      = \251     /* Replaces with a √ symbol
  789.         <IMG>    = \015     /* Replaces with a  symbol (little flash cube)
  790.         <INPUT>  = ?        /* Replaces with a question mark
  791.  
  792.  
  793. HTMSTRIP.DOC                           17                          Jul 31, 1997
  794.  
  795. The replacements aren't  always  perfect.   Web  browsers  don't  italicize  or
  796. display in bold spaces so the following will look perfectly fine under Netscape
  797. or Internet Explorer:
  798.  
  799.         The<B> Minnow </B>was Gilligan's ship.
  800.  
  801. However, if you have the following in your INI file:
  802.  
  803.         <B>     = *
  804.         </B>    = *
  805.  
  806. The text will show up as:
  807.  
  808.         The* Minnow *was Gilligan's ship.
  809.  
  810. Which makes it look like the wrong words are emphasized.  This  is  unfortunate
  811. but it's the way things work.
  812.  
  813. If you normally print the results of everything from HTMSTRIP, you can probably
  814. find the print codes that are appropriate for your printer that will change the
  815. text in the way you want.
  816.  
  817. For example, if you're using a Hewlett-Packard LaserJet printer, printer  codes
  818. are shown in the User's  Manual  which  can  do  different  types  of  bolding,
  819. underlining, etc.  You have to make sure that you turn off  the  settings  with
  820. the </xx> option (e.g.  </B>) though.  The following should  work  on  many  HP
  821. LaserJets (check your manual and replace with the appropriate codes if not):
  822.  
  823.         <I>      = \027(s1S   /* Turns italicizing on
  824.         </I>     = \027(s0S   /* Turns italicizing off (restores upright)
  825.         <U>      = \027&d0D   /* Turns underlining on
  826.         </U>     = \027&d@    /* Turns underlining off
  827.         <B>      = \027(s2B   /* Turns demi-bolding on
  828.         </B>     = \027(s0B   /* Turns bolding off
  829.         <EM>     = \027(s1B   /* Turns semi-bolding on
  830.         </EM>    = \027(s0B   /* Turns bolding off (restores normal weight)
  831.  
  832. Note  that  the  program  counts  all  characters  (including   these   special
  833. print-setting characters which don't themselves print) when  it  reflows  text.
  834. Also note that, on the HP at least, underlining underlines spaces  as  well  as
  835. characters, including indents.
  836.  
  837. Any symbolic references that you do not redefine will default to their original
  838. values.
  839.  
  840. The <INPUT> item is a bit of a special case.  It has several  special  options,
  841. and they are all present in the default value.
  842.  
  843. <INPUT> is used to indicate that the HTML page prompted for, typically,  a  bit
  844. of text.  In the actual HTML page, this might be coded as:
  845.  
  846.         <INPUT NAME=q size=45 maxlength=200 VALUE="">
  847.  
  848.  
  849. HTMSTRIP.DOC                           18                          Jul 31, 1997
  850.  
  851. Ignoring most of the parameter, the  "size=45"  parameter  says  that  the  Web
  852. navigator is to present an input line to the user which  is  45  characters  in
  853. length.  "VALUE=""" indicates that no default value is provided for this input.
  854.  
  855. The default symbolic reference for handling an <INPUT> request is:
  856.  
  857.         <INPUT>  = 5<@+>
  858.  
  859. Each item of the assignment is explained below:
  860.  
  861.         <INPUT>  specifies the <INPUT> replacement
  862.         5        means the maximum input length (SIZE=x) to be provided
  863.                  is 5 characters; the value can be any number between 1
  864.                  and 255; this rule is sometimes waived (see below)
  865.         < and >  are extra text characters that will appear
  866.         @        says to fill in the default value (VALUE="" above) is
  867.                  one is provided
  868.         +        says to expand the input field based on an specified
  869.                  length (SIZE=45 above); if no SIZE= is provided on the
  870.                  page, a default of SIZE=5 will be used; expansion is
  871.                  done using underscore characters
  872.  
  873. With the above settings, if the program encountered this:
  874.  
  875.         <INPUT NAME=q size=45 maxlength=200 VALUE="">
  876.  
  877. It would actually write out the input references as:
  878.  
  879.         <___>
  880.  
  881. Similarly, if the program encountered this:
  882.  
  883.         <INPUT TYPE=submit VALUE=Submit>
  884.  
  885. It would write out this:
  886.  
  887.         <Submit>
  888.  
  889. On the other hand, the program will  expand  the  field  beyond  the  specified
  890. maximum length if "@" (value) is requested and it's too large  to  fit  in  the
  891. specified field length.  If the program encountered this:
  892.  
  893.         <INPUT TYPE=TEXT VALUE="This is my sample" SIZE=10>
  894.  
  895. It would write out this:
  896.  
  897.         <This is my sample>
  898.  
  899.  
  900.  
  901. HTMSTRIP.DOC                           19                          Jul 31, 1997
  902.  
  903. Defining Character-Translations (The Filter Table):
  904.  
  905. HTMSTRIP allows you to translate specified characters as the text is read. This
  906. is useful on output for characters that are defined under  Windows  but  that's
  907. about it.  This should not be an issue because HTML is supposed to be  platform
  908. independent; the Web designer (or the software used for the page)  should  have
  909. been smart enough to insert the proper entity reference instead.
  910.  
  911. For example, "DisneyÆs" shows up on the  Disney  site  for  some  reason.   The
  912. filter table will translate  this  as  "Disney's".   Also,  way  too  many  Web
  913. designers use decimal 169 ("⌐", as in "⌐ 1996") as a copyright symbol;  they're
  914. supposed to use the entity reference ©  instead.   The  filter  table  will
  915. translate this as "c 1996".
  916.  
  917. There is a default character-translation table built  into  the  entity  lookup
  918. file (HTMSTRIP.INI).  This  will  typically  be  loaded  automatically  by  the
  919. program.  You can update the translations in the lookup file or you can  create
  920. your own filter  file  and  invoke  it  by  specifying  the  "/FILTER=filename"
  921. parameter.  In most cases, however, you will not need to modify this table.
  922.  
  923. The filter table is an ASCII text file which consists of a series of  lines  in
  924. the following format:
  925.  
  926.         inchar = outchar
  927.  
  928. where "inchar" is the character to change from and "outstr" is what  to  change
  929. the character to.  Both portions can consist of regular  non-space  ASCII  text
  930. characters (like "A" or "z") as well as hexadecimal values (in the  form  &Hxx)
  931. or decimal values (in the form \nnn).   Both  sides  must  reference  a  single
  932. character  (exactly  one  character  is  always  translated  into  exactly  one
  933. character).  You cannot use a  space  or  equal  sign  in  either  "inchar"  or
  934. "outchar"; use the hexadecimal or decimal representations instead.   The  table
  935. does not have to be in any specified order.  Lines can end with  "/*"  followed
  936. by a comment if you want.
  937.  
  938. Hexadecimal and decimal equivalents are explained in BRUCEHEX.DOC.
  939.  
  940. Examples:
  941.  
  942.         a    = A   /* Translate lowercase "a" into capital "A"
  943.         \032 = _   /* Translate space (decimal 032, &H20 too) into underscore
  944.         \027 = \032    /* Translate escape character to a space
  945.  
  946. Some leading characters  in  INI  files  are  treated  specially  within  Wayne
  947. Software programs.  INI lines that begin with any of the  following  characters
  948. may lead to odd results:  "[", "/", "&", "\", ";", ":", "<", and ",".  To avoid
  949. problems, use hexadecimal or decimal representations for these characters.  For
  950. example, use \047 or &H2F if you want to override the definition of "/".
  951.  
  952.  
  953.  
  954. HTMSTRIP.DOC                           20                          Jul 31, 1997
  955.  
  956. Author:
  957.  
  958. This program was written by Bruce Guthrie of Wayne Software.  It  is  free  for
  959. use and  redistribution  provided  relevant  documentation  is  kept  with  the
  960. program, no changes are made to the program or documentation,  and  it  is  not
  961. bundled with commercial programs or charged for separately.  People who need to
  962. bundle it in for-sale packages must  pay  a  $50  registration  fee  to  "Wayne
  963. Software" at the following address.
  964.  
  965. Additional information about this and other  Wayne  Software  programs  can  be
  966. found in the file BRUCE.DOC which should be included in the original ZIP  file.
  967. The recent change history for this and the other programs is  provided  in  the
  968. HISTORY.ymm file which should be in the same ZIP file where "y" is replaced  by
  969. the last digit of the year and "mm" is the two  digit  month  of  the  release;
  970. HISTORY.611 came out in November 1996.  This same naming convention is used  in
  971. naming the ZIP file (HTMSTymm.ZIP) that this program was included in.
  972.  
  973. Comments and suggestions can also be sent to:
  974.  
  975.                 Bruce Guthrie
  976.                 Wayne Software
  977.                 113 Sheffield St.
  978.                 Silver Spring, MD 20910
  979.  
  980.                 e-mail: WayneSof@erols.com   fax: (301) 588-8986
  981.                 http://www.geocities.com/SiliconValley/Lakes/2414
  982.  
  983. Please provide an Internet e-mail address on all correspondence.
  984.  
  985.  
  986. 
  987.